
# 序列中的通用操作
"""
支持 ：索引(下标) ，切片 ，相加 ，相乘 ，包含

一. 索引 ：
1. 索引 ： 支持索引的数据类型有：列表、元组、字符串
2. 格式 ： seq[index]
3. 说明 ：可以从左向右数 ，索引是0 ；也可以从右向左数 ，索引是从-1开始

二、切片 ：从序列中有规律性的获取若干个元素，支持数据类型有：列表、元组、字符串。
1. 格式 ：seq[start:end:step]
    start: 开始索引 ，默认值为0
    end : 结尾位置 ， 不包含该位置 ，默认值是序列的长度
    step : 步长，默认值是1

三. 相加和相乘
相加 ：两个同一数据类型的序列之间进行相加 ，seq = seq1 + seq2
相乘 ：序列和整数的相乘 ， seq = seq1 * number

说明 ：它们适用的数据类型为 ：列表、元组、字符串

四. 检查成员 ：检查一个元素是否在另外一个序列中 ，全支持
使用格式 ：obj in seq
"""

# 1. 索引
lst = [1,2,3,4]
tp = (1,2,4,5)
my_str = "hello world"

# 获取第2个元素
print(lst[1])
print(tp[1])
print(my_str[1])
print(lst[-2])
print(tp[-2])
print(my_str[-2])

# 切片
lst1 = ['red','green','blue','black','gold','orange']
print("获取第2~5个元素:",lst1[1:5:1])
print("获取第2,4,6个元素:",lst1[1:6:2])
print("获取第1,3,5个元素:",lst1[0:6:2])

print("获取第1,3,5个元素:",lst1[::2])
print("获取第3个及后面的元素:",lst1[2::])
print("获取整个列表中的元素:",lst1)
print("获取整个列表中的元素:",lst1[::])

# 相加和相乘
print("abc"+"bcd")
print([1,2,3]+[4,5,6])
print((1,2,3)+(4,5,6))

lst2 = [None] * 10
print(lst2)
print("========================================")
print("="*30)

# 检查成员
tp1 = ("hello","world",123)
dct1 = {"hello":1,"world":2}
str1 = "hellowrold"

print("hello" in tp1)
print("hello" in dct1)
print("hello" in str1)